package com.yunji.order.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunji.common.annotation.Excel;
import com.yunji.common.utils.Pair;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author : peter-zhu
 * @date : 2025/3/20 14:15
 * @description : TODO
 **/
@Data
public class OrderVO {
    @ApiModelProperty("订单ID")
    private Long orderId;
    @ApiModelProperty(value = "订单流水号")
    private String orderCode;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    @ApiModelProperty("应收金额")
    private BigDecimal totalAmount;
    @Excel(name = "实付金额", width = 10)
    @ApiModelProperty("实付金额")
    private BigDecimal actualAmount;

    @ApiModelProperty("共减掉的金额")
    private BigDecimal subtractAmount;

    @ApiModelProperty("优惠券折扣总金额")
    private BigDecimal couponAmount;

    @ApiModelProperty("订单状态 (0:待支付;1:支付中;2:支付成功;3:已完成;-1:已关闭;)")
    private Integer orderStatus;

    @ApiModelProperty("订单状态描述")
    private String orderStatusDesc;

    @Excel(name = "网点名称", width = 15)
    @ApiModelProperty("网点名称")
    private String siteName;

    @ApiModelProperty("顾客电话")
    private String memberPhone;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("货柜类型")
    private String containerType;

    @ApiModelProperty("货柜类型名称")
    private String containerTypeName;

    @ApiModelProperty("订单明细")
    private List<OrderDetailVO> detailList;

    @ApiModelProperty("退款数量")
    List<Pair<Integer, Integer>> refundStatusNums;
}
